FROM python:3.12-slim AS base
WORKDIR /app
COPY pyproject.toml /app/
RUN pip install --no-cache-dir --upgrade pip && pip install .
COPY . /app/
RUN adduser --system --no-create-home appuser
USER appuser
ENV PORT={{ cookiecutter.port }}
HEALTHCHECK --interval=10s --timeout=3s --start-period=10s --retries=3 \
    CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:${PORT}/_info/health')" || exit 1
CMD exec uvicorn {{cookiecutter.__service_name_snake}}:build_app --factory --host 0.0.0.0 --port ${PORT}
